# -*- coding: utf-8 -*-
'''
@文件    :middleware.py
@说明    :后台的中间件
@时间    :2023/12/21 12:59:04
@作者    :浪晋
@版本    :1.0
'''


from flask import request,g
from utils.jwtFunc import JWTManager as jwt
from utils.redisFunc import RedisDb as redis
from utils.responseFunc import resultMsg



def check_user_token():
    """
    对要求登录的接口进行token校验
    """
    token = request.headers.get("token")
    if not token:
        return resultMsg(code=9,msg="请先登录")
    data = jwt.decrypt(token)
    if not data:
        return resultMsg(code=9,msg="非法登录")
    account = data.get("account")
    if token != redis().get_value(account):
        return resultMsg(code=9,msg="登录已过期")
    g.userInfo = data


